(1) Field of the Invention
The present invention relates to a node applied to an IP (Internet Protocol) network and, more particularly, to a label switching type packet forwarding apparatus.
(2) Description of the Related Art
On an IP network typified by the Internet, data is forwarded in accordance with the IP protocol. In recent years, attention is paid to a label switching type packet forwarding for labeling an IP packet and forwarding a reception packet in accordance with the label. A typical example of label switching is MPLS (Multi Protocol Label Switching) which is being standardized by the IETF (Internet Engineering Task Force).
In order to make the invention understood easily, a conventional technique related to the invention will be described hereinbelow with reference to drawings.
FIG. 20 shows an IP network comprising a plurality of routers R51 to R55 for forwarding IP packets.
Hosts IP51 to IP55 such as terminals or servers as sources or destinations of IP packets are connected to the IP network via the routers. In the IP network shown in the diagram, the router R53 for connecting the routers R51, R52, R54 and R55 has, for example, a routing information table 100 shown in FIG. 21 to determine the forwarding route of a reception packet.
The routing information table 100 comprises a plurality of entries showing the relation among a destination IP address IN51 as input information IN5, a next hop router address IM51 as intermediate information IM5, and output port identifier (output port number) OUT51 and output layer 2 (L2) information OUT52 as output information OUT5.
In the IP network of FIG. 20, for example, when a route of an IP packet transmitted from the host IP51 to the host IP53 is RT51 and a route of an IP packet transmitted from the host IP52 to the host IP54 is RT52, entries EN51 and EN52 having the contents shown in FIG. 21 are set in the routing information table 100 of the router R53 in correspondence with the routes.
For example, when attention is paid to the route RT51, an IP packet inputted from the host IP51 via the router R51 to the router R53 has an IP header H1 of a format shown in FIG. 22, in which the address of the host IP53 is set as an destination IP address H13. When the IP packet is received from the router R51, the router R53 extracts the destination IP address from the IP header H1 and searches the table 100 by using the destination IP address as input information. By the search, an output port number #53 to which the IP packet is to be forwarded and output L2 information 5i to be added to an output packet are obtained.
When the routing information table 100 is divided into a first table in which the relation between the input information IN5 and the intermediate information IM5 is defined and a second table in which the relation between the intermediate information IM5 and the output information OUT5 is defined, by referring to the second table on the basis of the next hop router address R54 obtained from the first table, the output port #53 and the output L2 information 5i are obtained. When the input information IN5 and the output information OUT5 are directly associated with each other on the same table, the intermediate information IM5 can be omitted.
The output L2 information added to the output packet denotes routing information of the layer 2 (data link layer) of the OSI reference model applied to output lines of the router R53. For example, when the output line is of Ethernet, an MAC destination address H21 in an Ethernet header H2 shown in FIG. 23 corresponds to the output L2 information. When the output line is an ATM line, VPI/VCI H31 in an ATM header H3 shown in FIG. 24 corresponds to the output L2 information. When the output line is of POS (PPP over SONET) , as shown in FIG. 31, no information of the layer 2 exists in the POS header. Consequently, in a table entry corresponding to the POS line in the routing table 100, the output L2 information OUT52 is blank.
The router 53 forwards the reception IP packet to the next hop router R54 in a format that the output L2 information which is necessary for a lower layer of the OSI standard model applied to each of the output lines is added. Also on the packet route RT52 having the information of the destination IP address of xe2x80x9cIP54xe2x80x9d, in a manner similar to the route RT51, an IP packet is forwarded to the next hop router R55 in accordance with the output information of the entry EN52 corresponding to the destination IP address set in the routing information table 100.
FIG. 25 shows an example of an IP network including label switching nodes E61 to E63, C61 and C62 for forwarding packets by the MPLS.
In the diagram, an ellipse domain D6 in the center of the network denotes an MPLS domain for forwarding packets by the MPLS. In the following description, the nodes E61, E62 and E63 disposed at the incoming and outgoing ports of the MPLS domain D6 will be called edge nodes and the nodes C61 and C62 disposed on the inside of the MPLS domain will be called core nodes. The edge nodes E61, E62 and E63 are connected to routers R61, R62, R63 and R64 for IP forwarding the packets, respectively, on the outside of the MPLS domain D6.
On the inside of the MPLS domain D6, as shown in FIG. 26, the packet forwarding is performed in an MPLS packet 210 format in which a Shim header H4 is added to an IP packet 200. Each of the edge nodes has a table shown in FIGS. 27 and 28 for determining the forwarding route of a reception packet. FIG. 27 shows an ingress routing information table 110 which is referred to when the forwarding route of a packet inputted from the outside of the MPLS domain D6 into the domain is determined. FIG. 28 shows an egress routing information table 120 which is referred to when the forwarding route of a packet outgoing from the inside of the MPLS domain D6 to the outside is determined.
The ingress routing information table 110 comprises a plurality of entries showing the relation between a destination IP address IN61 as input information IN6i, and an output port OUT61 and an output label OUT62 as output information OUT6i. The output label OUT62 corresponds to the value of a label H41 included in the Shim header H4 of the MPLS shown in FIG. 26.
The egress routing information table 120 comprises a plurality of entries showing the relation among a destination IP address IN62 as input information IN6e, a next hop router address IM61 as intermediate information IM6e, and an output port OUT63 and output L2 information OUT64 as output information OUT6e. The egress routing information table 120 basically has a structure similar to that of the routing information table 100 shown in FIG. 21 which is referred to in the IP forwarding.
In the IP network shown in FIG. 25, when it is assumed that a route of an IP packet transmitted from the host IP61 to the host IP63 is RT61, a route of an IP packet transmitted from the host IP62 to the host IP64 is RT62, a route of an IP packet transmitted from the host IP63 to the host IP61 opposite to the route RT61 is RT63, and a route of an IP packet transmitted from the host IP64 to the host IP62 opposite to the route RT62 is RT64, in the ingress and egress routing information tables 110 and 120 of the edge node E61, entries EN61, EN62, EN63 and EN64 having the contents shown in FIGS. 27 and 28 are set in correspondence with the routes.
When attention is paid to the route RT61, the IP packet transmitted by the host IP61 to the host IP63 is inputted to the edge node E61 via the router R61. The edge node E61 searches the ingress routing information table 120 by using the destination IP address xe2x80x9c1IP63xe2x80x9d of the reception IP packet as input information and obtains output port number xe2x80x9c#63xe2x80x9d and an output label xe2x80x9cL61xe2x80x9d. The reception IP packet is converted to an MPLS packet to which the Shim header H4 including the output label xe2x80x9cL61xe2x80x9d is added and forwarded to the output line having the output port number xe2x80x9c#63xe2x80x9d. In the following description, the packet forwarding from the IP network to the inside of the MPLS domain will be called xe2x80x9cMPLS edge-ingress forwardingxe2x80x9d. Similarly, the reception IP packet of the route RT62 is converted to an MPLS packet including an output label L63 defined by the entry EN62 in the ingress routing information table 110 and the resultant is MPLS edge-ingress forwarded to the output line indicated by the output port number #64.
On the other hand, packets (MPLS packets) received via the routes RT63 and RT64 are forwarded to the outside of the MPLS domain D6 by using the egress routing information table 120 shown in FIG. 28. The packet forwarding from the inside the MPLS domain to the outside will be called xe2x80x9cMPLS edge-egress forwardingxe2x80x9d. Since the routing information table 120 has substantially the same structure as that of the routing information table 100 of FIG. 21 used for the IP forwarding, the detailed description is omitted here.
A packet forwarding performed by a core node in the MPLS domain (hereinbelow, called xe2x80x9cMPLS core forwardingxe2x80x9d) will be described.
FIG. 29 shows a network in which an MPLS domain D7 comprises edge nodes E71 to E74 and a core node C71 and the core node C71 transmits and receives packets on the POS (PPP over SONET) line.
In the MPLS core forwarding on the POS line, as shown in FIG. 31, a PPP header H5 is added to the MPLS packet 210 and the packet forwarding is performed in the format of a PPP packet 220. In this case, the core node C71 has a routing information table 130 shown in FIG. 30 for determining the forwarding route of a reception packet. The routing information table 130 comprises a plurality of entries each including, as input information IN7, an input port number IN71 and an input label IN72 and, as output information OUT7, an output port number OUT71 and an output label OUT72.
In the network of FIG. 29, for example, when it is assumed that the route of an IP packet transmitted from the host IP71 to the host IP73 is RT71 and a route of an IP packet transmitted from the host IP72 to the host IP74 is RT72, the routing information table 130 of the MPLS-POS core node C71 includes, as shown in FIG. 30, entries EN71 and EN72 having contents corresponding to the routes RT71 and RT72, respectively.
When attention is paid to the route RT71, an IP packet transmitted from the host IP71 to the host IP73 is inputted to the edge node E71 via the router R71 and is converted to an MPLS packet having the label value of L71. The MPLS packet is forwarded to the core node C71. The core node C71 which receives the MPLS packet from an input port of the port number xe2x80x9c#71xe2x80x9d uses the input port number xe2x80x9c#71xe2x80x9d and the value xe2x80x9cL71xe2x80x9d of the label (input label) extracted from the Shim header of the reception packet as input information and searches the routing information table 130. In this case, the entry EN71 is hit and the output port number xe2x80x9c#73xe2x80x9d and the value xe2x80x9cL73xe2x80x9d of the output label are obtained as output information. Consequently, the label value of the reception packet is rewritten from xe2x80x9cL71xe2x80x9d to xe2x80x9cL73xe2x80x9d and the resultant packet is forwarded to the output line of the output port number xe2x80x9c#73xe2x80x9d.
The packet on the route RT72 transmitted from the host IP72 to the host IP74 is processed in a manner similar to the packet on the RT71. The processed packet is subjected to the MPLS core forwarding in accordance with the output information OUT7 in the table entry EN72.
In the MPLS-POS core node as described above, different from the IP forwarding and the MPLS edge forwarding, the routing information table is searched on the basis of the input port number and the label value of the Shim header irrespective of the destination IP address.
FIG. 32 shows a network in which an MPLS domain D8 includes edge nodes E81 to E84 and a core node C81, and a packet forwarding (MPLS-ATM core forwarding) in the MPLS domain D8 is performed in the ATM.
In the ATM, as shown in FIG. 34, the IP packet 200 or the MPLS packet 210 obtained by adding the Shim header H4 and a trailer to the IP packet is divided into a plurality of data blocks each having fixed length (48 bytes). Each of the data blocks is converted to an ATM cell 230 having a cell header H3 of 5 bytes shown in FIG. 24.
The core node (MPLS-ATM core node) C81 for forwarding packets in the ATM has a routing information table 140 shown in FIG. 33 for determining the forwarding route of a reception packet. The routing information table 140 comprises a plurality of entries each including, as input information IN8, input port number IN81 and input VPI/VCI IN82 and, as output information OUT8, output port number OUT81 and output VPI/VCI OUT82.
The reason why input/output VPI/VCI is used in place of the input/output label is that, in the MPLS core forwarding on the ATM line, a packet set in an ATM payload is not always limited to the MPLS packet 210 including the Shim header H4. That is, there is a case such that the conversion from the IP packet 200 to the MPLS packet 210 is omitted, the IP packet 200 having no label H4 is converted to ATM cells, and the ATM cells are MPLS core forwarded.
In the network of FIG. 32, when it is assumed that a route of an IP packet transmitted from a host IP81 to a host IP83 is RT81 and a route of an IP packet transmitted from a host IP82 to a host IP84 is RT82, entries EN81 and EN82 having the contents as shown in FIG. 33 are set in the routing information table 140 in the MPLS-ATM core node C81 in correspondence with the routes.
When attention is paid to the route RT81, an IP packet transmitted from the host IP81 to the host IP83 is supplied to the edge node E81 via the router R81 and converted to ATM cells each having the VPI/VCI value xe2x80x9cv81xe2x80x9d. The ATM cells are inputted to the input port of the port number #81 of the core node C81.
By searching the table 140 by using the value of VPI/VCI of the received ATM cell as input information, the edge node E81 obtains the output port number #83 and the output VPI/VCI value xe2x80x9cv83xe2x80x9d defined as output information in the entry EN81. In the reception ATM cell, the VPI/VCI value is rewritten in accordance with the search result and the resultant is forwarded to the output line having the port number of xe2x80x9c#83xe2x80x9d. Similarly, the transmission packet on the route RT82 is also converted into ATM cells which are sent to the MPLS domain D8. Based on the output information defined in the table entry EN82, the ATM cells are forwarded to the output line of the port number xe2x80x9c#84xe2x80x9d.
As described above, different from the node for performing the MPLS core forwarding between the POS lines, the node for performing the MPLS core forwarding between the ATM lines operates like an ATM switch for switching packets on the basis of only the input port number and the VPI/VCI.
When the backbone network of the IP network is replaced by the label switching network, dispersion of a traffic load, increase in efficiency of forwarding of data in the network by designating a route, and construction of a virtual private network VPN are facilitated. As described above, however, since data is forwarded according to the IP protocol in the IP network and data is forwarded according to the MPLS protocol in the MPLS network, there is a large difference in the format of a forwarding packet and a construction of a routing information table between the two networks. Consequently, in the case of constructing an IP network partially having an MPLS domain, an IP router is necessary for the IP forwarding and the MPLS node is necessary for the MPLS forwarding.
Although the MPLS domain includes the edge node and the core node, the packet forwarding format of the edge node and that of the core node are different from each other. A dedicated node is therefore necessary according to each use. Also in the case of performing the MPLS core forwarding, not only the layer 2 protocol process but also, for example, the handling of TTL (Time to Live) to be added to the packet header in the case where the communication line is the POS line are different from those in the case where the communication line is the ATM line. Consequently, a number of kinds of MPLS nodes are required according to the structures of networks. In the construction of the label switching network, there are problems such that the costs of nodes are high and the network control becomes complicated as the number of kinds of nodes increases.
In the case of shifting a part of the IP network to the MPLS, the functions of conventional edge nodes are divided into, as explained with reference to FIG. 25, the function of forwarding a packet from the IP network to the inside of the MPLS domain and the function of forwarding a packet from the inside of the MPLS domain to the IP network. The function of forwarding a packet between IP networks (IP forwarding) is not provided. It causes a problem such that a flexible network in which the scale of the MPLS domain is gradually expanded while performing the IP forwarding by the edge nodes of the MPLS cannot be constructed and a huge amount of funds is necessary for modernization of the network.
When the MPLS is once constructed by using the lines of a certain protocol (such as ATM lines) as a base irrespective of the scale of the MPLS network, it becomes difficult to shift the lines to low-cost lines of another new protocol (such as POS lines) of higher forwarding speed.
It is an object of the invention to provide a label switching type packet forwarding apparatus which can be adapted to a plurality of kinds of communication protocols.
Another object of the invention is to provide a label switching type packet forwarding apparatus which has a plurality of kinds of communication lines of different communication protocols and can forward packets among the communication lines.
Further another object of the invention is to provide a label switching type packet forwarding apparatus which can deal with a change in communication protocol applied to input/output lines.
In order to achieve the objects, a label switching type packet forwarding apparatus according to the invention is characterized by using a routing information table in which a forwarding type of a reception packet, output port identification information, and output routing information of a specific layer in the OSI reference model determined by the forwarding type are defined in correspondence with routing information which is peculiar to a reception packet and is found upon receipt of the packet.
A label switching type packet forwarding apparatus according to the invention retrieves a table entry corresponding to the routing information of the reception packet from the routing information table, performs a header converting process on the reception packet in accordance with the packet forwarding type and the output routing information of the specific layer indicated by the retrieved table entry, and outputs the reception packet to an output port indicated by the output port identification information in the specific table entry.
More specifically, the routing information table comprises, for example, a table entry corresponding to the destination IP address of a reception packet. The packet forwarding types include, for example, packet forwarding between IP networks, packet forwarding from an IP network to an MPLS network, and packet forwarding from an MPLS network to an IP network. With the construction, a packet forwarding apparatus having both the edge node function and the function of forwarding a packet between IP networks can be realized. By including packet forwarding between MPLS networks in the packet forwarding types, a packet forwarding apparatus having both the edge node function and a core node function can be realized.
In a preferred embodiment of the invention, entries of the routing information table are prepared in correspondence with a combination of routing information of a plurality of layers in the OSI reference model, such as a combination of first information indicative of an input port of a reception packet, second information indicative of either an MPLS (Multi Protocol Label Switching) label or the routing information of the layer 2 in the OSI reference model for the reception packet, and third information indicative of a destination IP address of the reception packet. In this case, the routing information table is searched by, for example, a search at the first stage using at least the first and second information as search conditions and a search at the second stage using the third information as a search condition. The search at the second stage is performed when there is no table entry matched with the search conditions at the first stage.
The other objects and features of the invention will become apparent from the following description of embodiments with reference to the accompanying drawings.